﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FuenteDeDatos.Entidades;

namespace ReglasDeNegocio.Comandos
{

    public abstract class Comando
    {
        protected Credencial _credencial;
        protected Categoria _categoria;
        protected String _nombreUsuario;
        private String _clave;


        private Credencial _cred;

        public Credencial Cred
        {
            get { return _cred; }
            set { _cred = value; }
        }

        public String Clave
        {
            get { return _clave; }
            set { _clave = value; }
        }



        //Para poder retornar cualquier objeto sin cambiar el metodo Ejecutar()
        private Entidad _entidad;

        public Entidad Entidad
        {
            get { return _entidad; }
            set { _entidad = value; }
        }
        private List<Entidad> _listaEntidad;
        //Para poder retornar una lista de cualquier objeto sin cambiar el metodo Ejecutar()
        public List<Entidad> ListaEntidad
        {
            get { return _listaEntidad; }
            set { _listaEntidad = value; }
        }



        //Para poder retornar un bool sin cambiar el metodo Ejecutar()
        protected bool _flag;

        public bool Flag
        {
            get { return _flag; }
            set { _flag = value; }
        }

        public abstract void Ejecutar();

    }
}
